The field of the invention is digital communications networks which carry messages among stations connected to the networks; and more particularly, to a station mechanism which screens the messages to determine which ones are of interest to the station.
Factories are automated by controllers that are programmed, or configured, to operate specific machines or devices. These controllers can be general purpose, such as computers, numerical controls or programmable controllers; or they may be special purpose controllers, such as robot controllers, weld controllers or motor drives.
Each controller connects to the various sensing devices and operating devices on the machinery which it controls and it automates the operation of that machinery by inputting data from the sensing devices and outputting the appropriate data to the operating devices. This exchange of input and output ("I/O") data between the controller and the devices on the controlled machinery is often accomplished by direct connections between ports on the controller and each separate I/O device. However, when I/O devices are physically spread out over a large area, the wiring costs associated with such separate connections can become excessive.
One way to reduce wiring in such applications is to multiplex I/O data through a serial communications link. Such serial I/O links are commonly used to connect the centrally located controller to separate remote racks, or chassis, that are positioned adjacent to the I/O devices. Such "remote I/O systems"are disclosed, for example, in U.S. Pat. Nos. 4,404,651; 4,413,319; 4,809,217 and 4,750,150, where the controller carries out a continuous high speed scan of the I/O data associated with each remote rack and that data is conveyed through the serial communications link. It can be appreciated that such serial I/O links must promptly and reliably convey the I/O data, since that data is directly controlling operating devices on a machine that is operating in real time.
While a single controller may automate a machine, or a small group of machines, such "islands of automation" must be connected together to truly automate an entire factory. These latter connections are provided by industrial local area networks that enable each controller to send messages to other similar controllers in the factory over serial data links. There are a large number of such "peer-to-peer" communications networks known in the art, some of which are developed by standards committees like IEEE 802.3, IEEE 802.4, IEEE 802.5 and MAP; and others are developed by manufacturers of the controller like those disclosed in U.S. Pat. Nos. 4,319,338; 4,667,323 and 4,747,100. It can be appreciated that the nature of the peer-to-peer data conveyed on local area networks connecting controllers is different than I/O data conveyed on serial I/O links. While some of the data may indicate the state of the machinery being controlled, much of the traffic is large blocks of data. For example, a "cell controller" may download control programs for programmable logic controllers or part programs for numerical controls, and programmable logic controllers may up-load blocks of statistical data concerning production and quality control. While I/O data is usually time critical and must be conveyed reliably within milliseconds of the event which generated it, the up loading and down loading of large blocks of data usually is not as time critical.
Although remote I/O serial communications networks and peer-to-peer networks have coexisted in factories for many years, a number of factors are blurring the distinction between them and dictating that a single network having the attributes of both be created. One of these factors is technical--the increasing use of smaller controllers in so-called "distributed processing." For example, rather than a single large controller linked to a set of remote I/O racks, an alternative architecture is a set of linked small controllers positioned about the factory in place of each remote I/O rack. The resulting communications link that connects these small, distributed controllers must convey both time critical I/O data as well as peer-to-peer messages. Another factor is the desire of factory owners to reduce the number of different communications networks used, in order to simplify employee training and maintenance, and to reduce the inventory of spare parts.
The medium employed to convey the data on a serial communications link is dictated primarily by cost and the rate at which data must be conveyed. The lowest cost medium used in factory installations is twisted wire pairs which has a small bandwidth, and the most expensive medium is fiber optic cable which provides enormous bandwidth. The most common medium employed on the factory floor, however, is shielded cable, such as coaxial cable, which provides a good cost/performance compromise.
The chosen medium can interconnect the controllers and remote racks in different patterns, commonly referred to as "network topology". While so-called "star" and "ring" topologies can be found in the factory, the "bus" topology is by far the most prevalent. With the bus topology, a cable extends around the factory floor from one station to the next, and a short drop line is tapped into this bus and connected to the controller at that station. The bus topology is the most cost effective and easy to install.
Access to the communications network is determined by the "media access control" (MAC) protocol employed on the network. In early local area networks, and in many remote I/O networks, a single "master" station controlled access to the medium. For example, in the remote I/O network described in the above-cited patents, the programmable controller serves as the master of the network and signals the remote I/O racks when they can have access to the medium. This single-master protocol is satisfactory for remote I/O networks where loss of the programmable controller master results in a shut down of the entire network, but it is unsatisfactory in a peer-to-peer communications network. In a peer-to-peer network, communications should continue between the controllers on the network even if one controller is disconnected or malfunctions. Indeed, the fact that a controller is no longer operating may itself need to be communicated throughout the network to other controllers in the factory so that they can take appropriate action.
There are a number of media access control protocols commonly used in factories which do not rely on a single master. These include physical ring token passing networks such as that defined in the IEEE 802.5 standard, the logical ring token passing networks such as that defined in the IEEE 802.4 standard, and the carrier sense multiple access with collision detection (CSMA/CD) networks such as that defined in the IEEE 802.3 standard. While these protocols are appropriate for peer-to-peer communications where a message, or block of data, is sent with each access to the media, they are not appropriate for conveying large amounts of real-time I/O data.
Another media access control protocol which may be employed in factory applications is referred to as a dynamic time slot allocation (DTSA) network or dynamic time division multiple access (DTDMA) network. A DTDMA network suitable for conveying real time I/O data is disclosed, for example, in U.S. Pat. No. 4,897,834 and a time division multiplexing (TDM) network suitable for conveying both real time I/O data and message data is disclosed in U.S. Pat. No. 4,663,704.
Many of these protocols dictate that information be sent over the network in well defined blocks known as message frames. The format of the message frame is designed so that a station is able to distinguish one message frame from another. Generally, message frames are subdivided into sections known as a preamble, a start delimiter, a data field and an end delimiter. The preamble consists of a bit pattern that allows each station to recover a clock signal and become synchronized to the data bit sequence. The start delimiter provides a timing reference which the stations use to locate the beginning of the data field. This is important in order for every bit of data to be properly detected. The end delimiter is a bit pattern that indicates when one message frame terminates. The two delimiter bit patterns must be unique so that other sequences of bits sent on the network will not mislead a station into believing that a delimiter has been found.
Typically the data field of the message frames contained the address of the network station which originated the message and the address of the network station for which the message is intended, the intended recipient. Each station on the network upon detecting a new message, inspects the address for the intended recipient to determine if the message was for that station. This communication technique has several drawbacks. First, if a station has a different set of data to send to several other stations, a separate message frame had to be formed for each recipient. Many network protocols allow a given station to send only one message over the network before relinquishing access to the network to another station. Thus not only must separate messages be sent to each recipient, the originator must wait to be granted separate access to the network for each message. Another drawback exists when a station has a common set of data that is of interest to several other stations. Separate messages still must be formed each containing the same data, but addressed to different recipients in order to send the common data to all interested stations.
Some classes of data, such as network control information, were broadcast in messages with a special recipient address which every station on the network recognized to receive that data. However, that technique has not been used to send data to only selected stations on the network. Furthermore, such broadcasts were not used to send factory control information, such as I/O data and manufacturing process control information.
As the networks became larger and carried a larger amount of data, the computers connected to the network were required to spend a greater amount of their processing time determining which messages were for them. This took time away from the primary data processing tasks of the computer.